<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta content="IE=edge" http-equiv="X-UA-Compatible">
    <meta content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=Yes"
          name="viewport">
    <title>微信扫码</title>
    <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
    <script crossorigin="anonymous"
            integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4="
            src="https://code.jquery.com/jquery-3.7.1.js"></script>
</head>
<body>
<div class="lbox_close wxapi_form">
    <!-- <h3>微信扫一扫</h3> -->
    <input id="codeValue">
    <button id="scanQRCode">扫码</button>
</div>
</body>
</html>
<script>
    $(document).ready(function () {
        var url = location.href.split('#')[0]
        var api = "https://api-sz-dev7.yiye.ai/wechat-demo/index/wechat-sign" + "?url=" + encodeURIComponent(url) + "&" + new Date().getTime();
        console.log(api);
        $.get(api, function (data) {
            wx.config({
                beta: true,// 必须这么写，否则wx.invoke调用形式的jsapi会有问题
                debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
                appId: data.appId, // 必填，公众号的唯一标识
                timestamp: data.timestamp, // 必填，生成签名的时间戳    <%= Html.Encode(ViewData["timestamp" ]) %>
                nonceStr: data.nonceStr, // 必填，生成签名的随机串
                signature: data.signature, // 必填，签名
                jsApiList: ['checkJsApi', 'scanQRCode'] // 必填，需要使用的JS接口列表, 这里只需要调用扫一扫
            });
        });

        wx.ready(function () {
            wx.checkJsApi({  //判断当前客户端版本是否支持指定JS接口
                jsApiList: ['scanQRCode'],
                success: function (res) {// 以键值对的形式返回，可用true，不可用false。如：{"checkResult":{"scanQRCode":true},"errMsg":"checkJsApi:ok"}
                    if (res.checkResult.scanQRCode != true) {
                        alert('抱歉，当前客户端版本不支持扫一扫');
                    }
                },
                fail: function (res) { //检测getNetworkType该功能失败时处理
                    alert('checkJsApi error');
                }
            }); //wx.checkJsApi结束

            // 调起企业微信扫一扫接口
            wx.scanQRCode({
                desc: 'scanQRCode desc',
                needResult: 1,  // 默认为0，扫描结果由企业微信处理，1则直接返回扫描结果，
                scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码，默认二者都有
                success: function (res) {
                    console.log("调用扫描成功", res);
                    var result = res.resultStr; // 当needResult 为 1 时，扫码返回的结果
                    $("#codeValue").val(result);//显示结果
                    // alert("扫码结果为：" + result);
                },
                error: function (res) {
                    console.log(res)
                    if (res.errMsg.indexOf('function_not_exist') > 0) {
                        alert('版本过低请升级')
                    }
                }
            }); //wx.scanQRcode结束

        }); //wx.ready结束
        wx.error(function (res) {
            alert("错误信息:" + JSON.stringify(res));
        });
    });

    //点击按钮进行扫码
    $("#scanQRCode").click(function (event) {
        wx.ready(function () {
            wx.scanQRCode({
                desc: 'scanQRCode desc',
                needResult: 1,  // 默认为0，扫描结果由企业微信处理，1则直接返回扫描结果，
                scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码，默认二者都有
                success: function (res) {
                    console.log("调用扫描成功", res);
                    var result = res.resultStr; // 当needResult 为 1 时，扫码返回的结果
                    $("#codeValue").val(result);//显示结果
                    alert("扫码结果为：" + result);
                },
                error: function (res) {
                    console.log(res)
                    if (res.errMsg.indexOf('function_not_exist') > 0) {
                        alert('版本过低请升级')
                    }
                }
            }); //wx.scanQRcode结束
        });
    });
</script>
